namespace DirectShowLib.BDA
{
#if ALLOW_UNTESTED_INTERFACES

    [ComImport,
    System.Security.SuppressUnmanagedCodeSecurity,
    Guid("52dbd1ec-e48f-4528-9232-f442a68f0ae1"),
    InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IAttributeGet
    {
    #region Methods

        [PreserveSig]
        int GetAttrib(
            [In] Guid guidAttribute,
            [In, Out] IntPtr pbAttribute,
            [In, Out] ref int dwAttributeLength
            );

        [PreserveSig]
        int GetAttribIndexed(
            [In] int lIndex,
            [Out] out Guid guidAttribute,
            [In, Out] IntPtr pbAttribute,
            [In, Out] ref int dwAttributeLength
            );

        [PreserveSig]
        int GetCount([Out] out int plCount);

    #endregion Methods
    }

    [ComImport,
    System.Security.SuppressUnmanagedCodeSecurity,
    Guid("583ec3cc-4960-4857-982b-41a33ea0a006"),
    InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IAttributeSet
    {
    #region Methods

        [PreserveSig]
        int SetAttrib(
            [In] Guid guidAttribute,
            [In] IntPtr pbAttribute,
            [In] int dwAttributeLength
            );

    #endregion Methods
    }

#endif
}